package edu.zut.controller;


import edu.zut.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 将其视为控制器，能处理请求以及响应
 * @Controller ： 标注在类上，标明当前类是一个控制器，能处理请求以及响应
 */
@Controller
public class HelloController {

    /**
     * localhost:8080/hello
     * 通过注解实现请求与方法的自动映射
     * @RequestMapping : 可以标注在类或方法上，能够根据配置的url和请求形成自动映射关系
     * @ResponseBody : 在异步操作中使用，将数据放入响应体中返回，不会导致页面的刷新
     */
    @RequestMapping(value = "/hello",method = RequestMethod.GET)
    @ResponseBody
    public String hello(){
        return "hello";
    }



    @GetMapping("/toHello")
    public String toHello(Map<String,Object> map, HttpSession session){
        map.put("msg","hello Thymeleaf");
        session.setAttribute("name","xueyin");
        List<String> list = new ArrayList<>();
        list.add("abc");
        list.add("abc");
        list.add("abc");
        list.add("abc");
        list.add("abc");
        map.put("list",list);
        //返回templates下的hello.html,如果进行url的跳转，使用redirect、forward
        return "hello";
    }



}
